注:以下内容未经博主同意,不得转载。
解析: 这里有两种情况下的区别。 (1)C的struct与C++的class的区别。 (2)C++中的struct和class的区别。 在第一种情况下,struct与class有着非常明显的区别。C是一种过程化的语言,struct只是作为一种复杂数据类型定义,struct中只能定义成员变量,不能定义成员函数。例如下面的C代码片断:
1 struct Point 2 { 3int x; // 合法 4int y; // 合法 5void print() 6 { 7printf("Point print\n"); //编译错误 8}; 9 };10这里第7行会出现编译错误,提示如下的错误消息:“函数不能作为Point结构体的成员”。因此大家看到在第一种情况下struct只是一种数据类型,不能使用面向对象编程。现在来看第二种情况。首先请看下面的代码:
#include using namespace std;class CPoint{ int x; //默认为private int y; //默认为private void print()//默认为private { cout